#include "mainscene.h"
#include "ui_mainscene.h"
#include <QDebug>
#include <QPainter>
#include <mypushbutton.h>
#include <QTimer>
#include <QSound>
MainScene::MainScene(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainScene)
{
    ui->setupUi(this);


    //准备开始按钮的音效
   QSound * startSound = new QSound(":/res/TapButtonSound.wav",this);

    //配置主场景

    //设置固定大小
    setFixedSize(320,588);
    //设置图标
    setWindowIcon(QIcon(":/res/Coin0001.png"));
    //设置标题
    setWindowTitle("翻金币首页");
    chooseScene = new Chooselevelscene;
    //退出按钮的实现
    connect(ui->actionQuit,&QAction::triggered,[=]() {
        this->close();
    });

    //开始按钮
    myPushButton * myBtn = new myPushButton(":/res/MenuSceneStartButton.png");
    myBtn->setParent(this);
    //设置到中心位置
    myBtn->move(this->width()*0.5-myBtn->width()*0.5, this->height()*0.7);

    //点击切换图像
    connect(myBtn,&QPushButton::clicked,[=]() {
        qDebug()<< "按键按下,按钮1特效开始";

       //播放开始音效资源
        startSound->play();

        //点击触发弹起特效

        myBtn->zoom1();
        myBtn->zoom2();
        //进入到选择关卡场景
        QTimer::singleShot(200,this,[=]() {
             //位置还原,修复位置没有保留的bug
            chooseScene->setGeometry(this->geometry());

            //延时进入场景
            this->hide();
            chooseScene->show();
        });

    });
    //选择关卡场景的返回监听
    connect(chooseScene,&Chooselevelscene::chooseSceneBack,this,[=]() {
        //位置还原,修复位置没有保留的bug
         this->setGeometry(chooseScene->geometry());
        chooseScene->hide();
        this->show();
    });

}


MainScene::~MainScene()
{
    delete ui;
}

//设置背景图
void MainScene::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    QPixmap  pix;
    pix.load(":/res/PlayLevelSceneBg.png");
    painter.drawPixmap(0,0,this->width(),this->height(),pix);
    //背景上的图标
    pix.load(":/res/Title.png");
    //zoom 缩放,通常使用原参数的宽高进行缩放 , 不会直接修改原始图片,返回一个修改过后的图片
    pix = pix.scaled(pix.width()*0.5,pix.height()*0.5);
    painter.drawPixmap(10,30,pix);

}

